This disclosure relates to data processing and data storage, and more specifically, to the efficient distribution of data among the storage devices of a data storage system. Still more particularly, the disclosure relates to relocating data between data storage devices based on the temporal proximity of accesses to the data.
Data storage systems commonly attempt to reduce access latency and increase input/output (I/O) throughput by reducing access bottlenecks. For example, in some implementations, data storage systems attempt to improve access latency and increase throughput by distributing data “horizontally” among multiple different peer storage devices forming a storage array (e.g., a Redundant Array of Independent Disks (RAID)). In some implementations, data storage system alternatively or additionally attempt to improve access latency and increase throughput by “vertically” distributing data among multiple tiers of storage devices having differing access latencies based on the frequency of access to the data.
The present disclosure recognizes, however, that even in data storage systems that distribute data “horizontally” and/or “vertically,” performance bottlenecks can still arise due to the temporal proximity of accesses to different data residing on the same storage device or accessed via a common controller.